home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 April: Mac OS SDK / Dev.CD Apr 98 SDK2.toast / Development Kits (Disc 2) / ScriptX / Documentation / Code Examples from Docs / langguid / chap_06 / xmpl_06.sx < prev    next >
Encoding:
Text File  |  1996-05-21  |  905 b   |  42 lines  |  [TEXT/ttxt]

  1. --<<<
  2. -- Kaleida Labs, Inc.
  3. -- Field Guide to the ScriptX Language
  4. -- chapter 6, example 6
  5.  
  6. -- example MyClass, which creates methods with keyword args
  7. unglobal myClass, exmpl
  8.  
  9. class MyClass ()
  10.     instance vars a,b,c
  11.     instance methods
  12.     method addAllIVs self -> (
  13.         self.a + self.b + self.c
  14.     )
  15.     method addEmUp self #rest allArgs -> (
  16.         local s := 0
  17.         for i in allArgs do (s := s + i)
  18.         s := s + (addAllIVs self)
  19.     )
  20.     method changeIVs self #key incA:(10) incB:(10) incC:(10) -> (
  21.         self.a := self.a + incA
  22.         self.b := self.b + incB
  23.         self.c := self.c + incC
  24.         print self.a; print self.b; print self.c
  25.         return self
  26.     )
  27. end
  28.  
  29. -- create an object, an instance of MyClass
  30. object exmpl (MyClass)
  31.     settings a:1, b:5, c:12
  32. end
  33.  
  34. -- try some things and see how it works
  35. exmpl.a
  36. exmpl.b
  37. exmpl.c
  38. addAllIVs exmpl
  39. addEmUp exmpl 3 8 4 6
  40. changeIVs exmpl -- no keywords, defaults are all 10
  41. changeIVs exmpl incA:4 incB:-7
  42. -->>>